package com.mzpai.product.vo;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 门店结算请求参数
 * @author ASUS
 */
@ApiModel(value="门店收银结算请求")
public class StoreCashierAccountReqVo implements Serializable{

	private static final long serialVersionUID = 1L;
	
	@ApiModelProperty(value="门店storeId")
	private Integer storeId;
	
	/**
	 * 用户二维码信息
	 */
	//由用户ID+用户account+用户创建时间三个字段生成的MD5唯一密文
	@ApiModelProperty(value="用户密文")
	private String userEncryptData;
	//二维码创建时间，该时间以时间戳形式展示
	@ApiModelProperty(value="当前时间13位戳")
	private Long currentDateTime;
	//二维码签名，签名规则为用户密文+二维码生成时间+用户密钥三部分生成的MD5
	@ApiModelProperty(value="用户前面数据")
	private String userSignData;
	/**
	 * 抵扣及优惠金额
	 */
	@ApiModelProperty(value="抵扣金")
	private BigDecimal deducteGold;
	@ApiModelProperty(value="优惠金额")
	private BigDecimal discountAmount;
	
	/**
	 * 支付方式
	 */
	@ApiModelProperty(value="支付方式,0:到店付款; 1:线上收款")
	private String payMethod;
	@ApiModelProperty(value="支付code码,唯一值;确定支付名称及是否线上")
	private String payCode;
	
	/**
	 * 商品信息
	 */
	@ApiModelProperty(value="订单商品总数")
	private Integer totalNum;
	@ApiModelProperty(value="订单总金额,减免前商品总额")
	private BigDecimal totalPrice;
	@ApiModelProperty(value="商品详细列表")
	List<StoreCashierProductVo> productList;
	

	public Integer getStoreId() {
		return storeId;
	}

	public String getUserEncryptData() {
		return userEncryptData;
	}

	public Long getCurrentDateTime() {
		return currentDateTime;
	}

	public String getUserSignData() {
		return userSignData;
	}

	public BigDecimal getDeducteGold() {
		return deducteGold;
	}

	public BigDecimal getDiscountAmount() {
		return discountAmount;
	}

	public String getPayMethod() {
		return payMethod;
	}

	public String getPayCode() {
		return payCode;
	}

	public List<StoreCashierProductVo> getProductList() {
		return productList;
	}

	public void setStoreId(Integer storeId) {
		this.storeId = storeId;
	}

	public void setUserEncryptData(String userEncryptData) {
		this.userEncryptData = userEncryptData;
	}

	public void setCurrentDateTime(Long currentDateTime) {
		this.currentDateTime = currentDateTime;
	}

	public void setUserSignData(String userSignData) {
		this.userSignData = userSignData;
	}

	public void setDeducteGold(BigDecimal deducteGold) {
		this.deducteGold = deducteGold;
	}

	public void setDiscountAmount(BigDecimal discountAmount) {
		this.discountAmount = discountAmount;
	}

	public void setPayMethod(String payMethod) {
		this.payMethod = payMethod;
	}

	public void setPayCode(String payCode) {
		this.payCode = payCode;
	}

	public void setProductList(List<StoreCashierProductVo> productList) {
		this.productList = productList;
	}

	public BigDecimal getTotalPrice() {
		return totalPrice;
	}

	public void setTotalPrice(BigDecimal totalPrice) {
		this.totalPrice = totalPrice;
	}

	public Integer getTotalNum() {
		return totalNum;
	}

	public void setTotalNum(Integer totalNum) {
		this.totalNum = totalNum;
	}
	
	
}
